/**
 * 
 * @param {string} url 请求地址
 * @param {string} params 请求参数
 * @param {object} headers 请求头
 * @param {*} dataType 后端返回的数据类型
 * @returns 返回Promise对象
 */
function get(url,params,headers={},dataType){
    return new Promise((resolve,reject)=>{
        const xhr=new XMLHttpRequest();
        xhr.onreadystatechange=()=>{
        if(xhr.readyState===4){
            if(xhr.status===200){
                let res=xhr.responseText;
                switch(dataType){
                    case 'JSON':
                        res=JSON.parse(res);
                         resolve(res);
                        break;
                    default:
                        break;
                }
            }
            else{
                reject(xhr.status);
            }
        }
        
    }

        xhr.open('get',`${url}?${params}`);
        for(let key in headers){
        xhr.setRequestHeader(key,headers[key]);
        }

        xhr.send();
    })
}



/**
 * 
 * @param {string} url 请求地址
 * @param {string} params 请求参数
 * @param {function} callback 回调函数
 * @param {Object} setHeader 请求头
 * @param {string} dataType 后端返回的数据类型 JSON、XML
 * @returns 返回Promise对象
 */
 function post(url,params,callback,setHeader={},dataType){
    const xhr=new XMLHttpRequest();
    xhr.onreadystatechange=()=>{
        if(xhr.readyState===4){
            if(xhr.status===200){
                let res=xhr.responseText;
                switch(dataType){
                    case 'JSON':
                        res=JSON.parse(res);
                        break;
                    default:
                        break;
                }
                callback(res);
            }
            else{
                alert('error',xhr.status);
            }
        }
    }

    xhr.open('post',url);
    xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
    for(let key in setHeader){
        xhr.setRequestHeader(key,setHeader[key]);
    }

    xhr.send(params);


}